// 接口返回需要的基础字段
export interface baseRes<D = {}> {
  success: boolean
  code: number
  msg: string
  data: D //返回的数据字段
}

export interface PageData<D = {}> {
  currentPage: number
  pageSize: number
  count: number
  entities: D[]
}

export interface PageParams {
  pageNum?: number
  pageSize?: number
}

export interface upFileItem {
  filePreviewUrl: string
  fileSaveUrl: string
  fileSize: number
}





//-------------------------------------入参和返回data详情--------------------------
export interface isRegisterReqType {
  mobile: string
}
export interface registerReqType {
  mobile: string
  hallId: number
  name: string
  email: string
  company: string
  province: string
  provinceName: string
  city: string
  cityName: string
  area: string
  areaName: string
  passWord: string
  source: number
  verificationCode: string
  unionid?: string
  nickname?: string
  headimgurl?: string
}
export interface loginReqType {
  mobile: string
  passWord?: string
  verificationCode?: string
}
export interface verifyCodeReqType {
  mobile: string
  type: number
}

export interface pwdSecretReqType {
  mobile: string
  verificationCode: string
}
export interface pwdSecretResType {
  secretKey: string
}

export interface retrievePwdReqType {
  secretKey: string
  passWord: string
}

export interface userInfoResType extends Omit<registerReqType, "passWord" | "verificationCode" | "unionid" | "nickname"> {
  createDate: string
  updateDate: string
  hallName?: string
  id: number
}
export interface updateUserInfoReqType {
  id: number
  name: string
  email: string
  company: string
  province: string
  provinceName: string
  city: string
  cityName: string
  area: string
  areaName: string
}

export interface industryByExhibitionResType {
  createDate: string
  creator: number
  creatorName?: string
  exhibitionId: number
  id: number
  industryId: number
  industryName: string
  sort: number
  state: number
  title: string
  updateDate: string
  updater: number
  updaterName?: string
}


/** --------------------产品相关接口-------------------- */
export interface productListResType<D = {}> {
  content: string
  id: number
  image: string
  industryId: number
  industryName: string | null
  introduction: string | null
  products: D[]
  solutionId: number
  solutionName: string | null
  title: string
}

export interface productType {
  id: number
  solutionId: number
  productId: number
  title: string
  image: string | null
}

export interface recommendProductResType {
  content: string
  createDate: string
  creatorName: string | null
  detailMaps: dimensionalDrawingType[]
  dimensionalDrawing: dimensionalDrawingType[]
  documents: dimensionalDrawingType[]
  firstCategoryId: number
  firstCategoryName: string | null
  id: number
  image: string
  model: string
  parameter: string
  status: number
  title: string
  videos?: dimensionalDrawingType[]
}

export interface dimensionalDrawingType {
  title: string | null
  url: string
  videoImg: string
}


/*----------首页相关接口 ------------*/
export interface menubarType {
  createDate: string
  creator: number
  creatorName?: string
  exhibitionId: number
  id: number
  isDel: number
  link: string
  menubarId: number
  title: string
  updateDate: string
  updater: number
  updaterName?: string
  url: string
}

export interface indexExhibitionId {
  exhibitionId?: number
  pageSize?: number
  currentPage?: number
  id?: number
}
//活动列表
export interface activityIntro {
  content: string
  createDate: string | null
  creator: string | null
  endTime: string
  exhibitionId: number
  id: number
  image: string
  imageMobile: string
  startTime: string
  updateDate: string | null
  updater: string | null,
  title: string
  url?: string
  introduction: string
}
export interface partnerList {
  content: string
  creator: number
  exhibitionId: number
  id: number
  image: string
  sort: number
  title: string
  updateDate: string
  updater: number
}


//活动详情
export interface activityIntroDetail {
  address: string
  createDate: string | null
  creator: string | null
  endTime: string | null
  id: number
  isDef: number
  isDel: number
  remarks: string
  startTime: string
  state: number
  title: string
  updateDate: string | null
  updater: string | null
  webState: number
}
